package com.erp.order.purchasing.service;

import com.activiti.dao.model.Activiti_SubTaskInfoRO;
import com.erp.hr.base.model.ApprovalVO;
import com.erp.hr.base.service.BaseService;
import com.erp.hr.base.vo.ResultVO;
import com.erp.order.purchasing.model.*;
import org.redragon.framework.hibernate.model.Pages;
import java.util.List;

/**
 * 询价单 业务层
 * @Author: syz
 * @blame syz
 * @CreateTime: 2021/4/6
 */
public interface InquiryListService extends BaseService<InquiryList> {

    /**
     * 根据询价编码获取对象
     * @param code 询价编码
     * @return 询价单对象
     */
    InquiryList getByCode(String code);

    /**
     * 根据询价单id获取已报价供应商集合
     * @param id 询价单id
     * @return 已报价供应商集合
     */
    List<InquiryListSupplier> getSupplierById(Long id);

    /**
     * 比价
     * @param priceParityVO 比价vo对象
     * @return 比价结果
     */
    ResultVO<String> priceParity(PriceParityVO priceParityVO);

    /**
     * 解析1688比价单
     * @param purchaseId 1688询价单id
     * @param id 1688比价单id
     */
    void getPriceParity(String purchaseId, String id);

    /**
     * 获取任务信息
     * @param processInstanceId 流程实例id
     * @return 任务信息集合
     */
    List<Activiti_SubTaskInfoRO> getTaskInfo(String processInstanceId);

    /**
     * 执行审批
     * @param approvalVO 审批vo对象
     * @return 审批结果
     */
    ResultVO<String> approval(ApprovalVO approvalVO);

    List<InquiryListR> getInquiryLists(Pages pages, InquiryListR inquiryListR, String username);

    InquiryList getDataById(int id);

    List<InquiryListRS> getQuotedLists(Pages pages, InquiryListRS inquiryListR, String username);

    List<QuotePriceInfo> getPriceInfoById(Long id);

}